package com.youboy.oauth.model;

import java.util.Map;

/**
 * 
 * @author loudyn
 *
 */
public interface OAuthRequest {

	/**
	 * 
	 * @return
	 */
	public String getVerb();

	/**
	 * 
	 * @return
	 */
	public Map<String, String> getOAuthParameters();

	/**
	 * 
	 * @return
	 */
	public String getSignatureBaseString();

	/**
	 * 
	 * @param attr
	 * @param value
	 */
	public void setAttribute(String attr, Object value);

	/**
	 * 
	 * @param attr
	 * @return
	 */
	public Object getAttribute(String attr);

	/**
	 * 
	 * @throws UnsupportedParameterException
	 * @throws MissingRequiredParameterException
	 */
	public void validateParameters() throws UnsupportedParameterException, MissingRequiredParameterException;
}
